package com.game.yxy.common;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class CorsConfig {//解决跨域
    private static final long Max_AGE = 24*60*60;
    private CorsConfiguration buildConfig(){
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");//跨域的请求头
        corsConfiguration.addAllowedHeader("*");//跨域的请求方法
        corsConfiguration.addAllowedMethod("*");//可以携带cookie在跨域请求的时候获取同一个 session
        corsConfiguration.setMaxAge(Max_AGE);
        //Cookie默认的maxAge值为-1。
        //‍如果maxAge为0，则表示删除该Cookie。Cookie机制没有提供删除Cookie的方法，因此通过设置该Cookie即时失效实现删除Cookie的效果。
        return corsConfiguration;
    }
    @Bean
    public CorsFilter corsFilter(){
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**",buildConfig());;
        return new CorsFilter(source);
    }
}
